Some Interdisciplinary Observations about Getting the "Right" Specification

نویسنده

  • Cliff B. Jones
چکیده

One can use formal approaches either post facto to try to show that a program has desirable properties or one can aim for verified by construction (VxC). The former approach tends to focus on specific properties such as avoiding the de-referencing of null pointers; the latter is more likely to address the question of whether the steps of design satisfy some overall specification. I not only prefer the latter but I have also argued that this is the main way to get formal methods to pay off: there is more mileage in getting a clean architecture than in trying to debug a bad design by retrofitting a proof. I think VxC is also a way to choose an appropriate level of formality perhaps using outline arguments and filling in details if doubt arises (see [Jon96]; Jackson and Wing made a similar point in the same journal; [Jon05] makes a similar point related to proofs). But we must also face the crucial question " how do we know that the specification is right? ". This is not a trivial question especially with the way computers are used today. As computers have become more powerful and less expensive, they have become ever more deeply embedded in the way nearly everyone works. In their short history, computers have moved from batch processors in their own buildings to work tools on every desk (or lap). They are now essential components of administration, retail trade, banking and vehicles; computers in the future will become invisible dust sprinkled on who-knows-what. This has transformed the task of understanding the requirements of a system. Above all, the close interaction of people with computer systems makes it essential that designers consider the whole system when formulating a specification of the technical parts. This larger system involves people as essential components. Model-oriented specification techniques like VDM, Z, ASMs and B have an enormous amount in common; among other things shared by this formal methods community is the view that one can start with a formal specification and show that a design/implementation satisfies that specification. It is obvious however that, if a specification does not actually reflect the real need, proving a program correct with respect to it is somewhat pointless. Am I arguing in favour of " XP " or fluid prototyping? Certainly not — at least not for most applications. But one might have to proceed in this way …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Possible Ways to Violate the Treatment Right by the Government and the Liability Arising from that

The right to health and the right to treatment are some of the fundamental rights and essential needs of a society which the state is responsible for this fundamental and permanent society need as the representative of the nation. So the social man has placed the main social duties in the area of the state’s jurisdiction through the choice of the governments, and also has demanded the state to ...

متن کامل

What's Wrong with Requirements Specification? An Analysis of the Fundamental Failings of Conventional Thinking about Software Requirements, and Some Suggestions for Getting it Right

We know many of our IT projects fail and disappoint. The poor state of requirements methods and practice is frequently stated as a factor for IT project failure. In this paper, I discuss what I believe is the fundamental cause: we think like programmers, not engineers and managers. We do not concentrate on value delivery, but instead on functions, on use-cases and on code delivery. Further, man...

متن کامل

Introduction to Programming in Python - An Interdisciplinary Approach

Only for you today! Discover your favourite introduction to programming in python an interdisciplinary approach book right here by downloading and getting the soft file of the book. This is not your time to traditionally go to the book stores to buy a book. Here, varieties of book collections are available to download. One of them is this introduction to programming in python an interdisciplina...

متن کامل

Getting to grips with clinical governance.

Some people may be laughing when looking at you reading in your spare time. Some may be admired of you. And some may want be like you who have reading hobby. What about your own feel? Have you felt right? Reading is a need and a hobby at once. This condition is the on that will make you feel that you must read. If you know are looking for the book enPDFd getting to grips with clinical governanc...

متن کامل

Semi-supervised clustering methods

Cluster analysis methods seek to partition a data set into homogeneous subgroups. It is useful in a wide variety of applications, including document processing and modern genetics. Conventional clustering methods are unsupervised, meaning that there is no outcome variable nor is anything known about the relationship between the observations in the data set. In many situations, however, informat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005